/*
 * $Id$
 */

package corejs.rt;

import corejs.expr.ArrayExpr;
import corejs.expr.Expression;
import corejs.expr.ExpressionVisitor;
import corejs.expr.NameExpr;
import corejs.expr.ObjectExpr;
import corejs.expr.RefinementExpr;
import corejs.expr.SequenceExpr;

import corejs.stmt.Block;
import corejs.stmt.FunctionDeclaration;
import corejs.stmt.Loop;
import corejs.stmt.Statement;
import corejs.stmt.StatementVisitor;
import corejs.stmt.VarDeclaration;


import java.math.BigDecimal;
import java.util.List;

/**
 *
 * @author pengyu
 */
public class VisitorSupport implements ExpressionVisitor, StatementVisitor {

   @Override
   public Value visitAddition(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Bool visitAnd(final Expression left, final Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Array visitArray(ArrayExpr arrayExpr) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitAssignment(RefinementExpr left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitAssignment(String name, Expression e) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitRefinement(Expression target, Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Function visitFunction(String name, String[] args, Block body) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Number visitInteger(int i) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Decimal visitDecimal(BigDecimal d) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitInvocation(Expression e, List<Expression> args) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitMultiplication(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitName(NameExpr e) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitObject(ObjectExpr e) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Bool visitOr(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Bool visitNot(Expression e) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitSequence(SequenceExpr seq) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Str visitString(String s) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitSubtraction(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Str visitTypeof(Expression e) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Undefined visitUndefined() {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public RuntimeStack getRuntimeStack() {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitBlock(List<FunctionDeclaration> fds, List<VarDeclaration> vds, List<Statement> stmts) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitVars(List<String> names) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Value visitExpression(Expression expr) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitReturn(Expression expr) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Bool visitBool(boolean b) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitLessThan(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitGreaterThan(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitLessEqualThan(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitGreaterEqualThan(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitEquals(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitStrictEquals(Expression left, Expression right) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitNotEquals(final Expression left, final Expression right) {
     throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Bool visitStrictNotEquals(final Expression left, final Expression right) {
     throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Null visitNull() {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Long visitLong(long l) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public Number visitSignedExpr(boolean neg, Expression expr) {
      throw new UnsupportedOperationException("Not supported yet.");
   }
   
   @Override
   public Value visitIncrement(boolean prefix, Expression expr) {
      throw new UnsupportedOperationException("Not supported yet.");
   }
   
   @Override
   public Value visitDecrement(boolean prefix, Expression expr) {
      throw new UnsupportedOperationException("Not supported yet.");
   }

   @Override
   public Value visitConditionExpr(Expression test, Expression then, Expression els) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitIf(Expression test, Statement then, Statement els) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitBreak(final String label) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitLoop(Loop loop) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

   @Override
   public void visitContinue(String label) {
      throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }

}
